package org.sunriz.utils;

import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;

public class FileCheck {
    /**
     * 校验两个文件的行数是否一致
     * @param file1Path 第一个文件路径
     * @param file2Path 第二个文件路径
     * @return 如果行数一致返回true，否则返回false
     */
    public static boolean checkLineCount(String file1Path, String file2Path) {
        try {
            long file1Lines = Files.lines(Paths.get(file1Path), Charset.forName(Constant.ENCODING)).count();
            long file2Lines = Files.lines(Paths.get(file2Path), Charset.forName(Constant.ENCODING)).count();

            if (file1Lines != file2Lines) {
                System.out.println("文件行数不一致:");
                System.out.println(file1Path + ": " + file1Lines + "行");
                System.out.println(file2Path + ": " + file2Lines + "行");
                return false;
            }
            
            System.out.println("文件行数一致，均为: " + file1Lines + "行");
            return true;
            
        } catch (java.io.IOException e) {
            System.err.println("读取文件失败: " + e.getMessage());
            return false;
        }
    }
}
